package com.cw.base.common.model.enums;

import java.util.Arrays;

import com.cw.lang.common.enums.IEnum;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 服务场景枚举
 *
 * @author chenw
 * @version $$Id: EnumServiceScene.java, v 0.1 2018/9/19 上午11:19 chenw Exp $$
 */
@Getter
@AllArgsConstructor
public enum EnumServiceScene implements IEnum {

    /** 未知交易类，系统内部交易禁止使用 */
    UNKNOWN("10", "未知交易类"),
    /** 查询交易 **/
    QUERY("11", "查询类"),
    /** 资金交易 **/
    CAPITAL("12", "资金类"),
    /** 申请交易 **/
    APPLY("13", "申请类"),
    /** 账务交易 **/
    ACCOUNT("14", "账务类"),
    /** 信息提交交易 **/
    CONFIRM("15", "信息提交类"),
    /** 配置交易 **/
    DEPLOY("16", "配置类"),
    /** 广播方式（事件观察消费模式） */
    NOTICE("17", "通知类"),
    /** 异步任务 */
    ASYNC_TASK("18", "异步任务类"),
    ;

    /** 状态码 **/
    private String code;
    /** 状态描述 **/
    private String description;

    public static EnumServiceScene find(String code) {
        return Arrays.stream(EnumServiceScene.values()).filter(input -> input.getCode().equals(code)).findFirst()
            .orElse(null);
    }
}
